home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / new_file / utilitys / speedom2 / speedom.doc < prev    next >
Encoding:
Text File  |  1995-04-25  |  9.9 KB  |  194 lines

  1.                                Speed-o-meter
  2.                                =============
  3.                       "The multitasker's speed gauge"
  4.  
  5.                        ╜1994 DataBasement Software
  6.                            All Rights Reserved
  7.  
  8.                          By Erin Matthew Monaco
  9.                             Programmed using 
  10.                        Lattice C 5.60 + DevPac III.
  11.  
  12.  
  13.      This is another S.A.S (Short And Simple) ShareWare product from
  14. DataBasement Software. If you find it useful and use it I'd appreciate
  15. it if you could send the $5 registration fee to me at:
  16.  
  17.   Erin Monaco
  18.   35244 Chestnut St.
  19.   Wayne, MI  48184
  20.  
  21. I also accept GEnie Gifts of Time page M080. My GEnie Address is:
  22.   E.MONACO
  23.  
  24.      You have the right to copy and distribute this program for a
  25. reasonable PD disk fee. You must insure that distribution is complete
  26. with this document as its the only identification the program carries.
  27.  
  28. History:
  29. Version 2:
  30. - EVT_TIMER vector now installs using XBRA protocol. Tested appears
  31.   to work fine. Now SPEEDOM will unlink safely when run with
  32.   other XBRA compliant programs which redirect EVT_TIMER.
  33.   (This includes running multiple copies of SPEEDOM).
  34.  
  35. - To keep window size to a minimum I removed the relatively worthless
  36.   SPEEDOM window title. Now when SPEEDOM is first run the title will
  37.   display "Wait..." this will remain till SPEEDOM has read its .CNF
  38.   file, or while it calculates your computers optimal speed and then
  39.   creates the .CNF file.  After that the title will display the
  40.   applications speed percentage in decimal (in addition to the bar
  41.   graph already displayed in the window) Now you can see at a glance
  42.   what the actual percentage is. Since its possible (as explained
  43.   below) a plus "+" sign will appear to the right of the percent symbol
  44.   when you happen to exceed 100% performance. ('+' actually added after
  45.   this document was written.)
  46.  
  47. - Changed the second line from "|  5|0  |" to just "|   |   |" but
  48.   the ticks still represent 25%, 50% and 75% of optimal speed. This
  49.   is fairly accurate but not lined up "precisely". Which is why I added
  50.   the decimal % display.
  51.  
  52. - Changed the code a little but it still works as explained for version
  53.   one. Which is what this doc file talks about.
  54.  
  55. Version 2: Added Tidbits.
  56. - Once I added the accurate decimal percentage display (and no longer
  57.   had to guess at speeds) I found that my initially reported slowdowns
  58.   on mouse movements and running Geneva to be on the low side.  In
  59.   other words, the slowdown was even more dramatic then I thought. To
  60.   see an excellent example of this configure SPEEDOM on a completely
  61.   bare system as suggested.  Then when your speed starts getting reported
  62.   move your mouse as quickly as you can across the screen.  Do not be
  63.   surprised to see a 25% slowdown in application execution.  If you have
  64.   warp_9 (or possibly some other mouse/screen accelerator run it and
  65.   try SPEEDOM again)  With warp_9 3.75 Moving the mouse on my AdSpeed
  66.   STE (16Mhz) accelerated machine I started reading 100%... it could
  67.   have been even more but the program caps at 100 for other technical
  68.   reasons.
  69.  
  70. - Running Geneva and setting the default flags to single-tasking Speedom
  71.   reported about 89%.  This is with neodesk (which gets suspended),
  72.   Genevas Task Manager and Warp_9 CP.  I found that if I put the acc's
  73.   (Task Manager and Warp_9 CP to sleep, by shift clicking on their
  74.   menu entries.. yes you CAN do that! Now running SPEEDOM I was back up
  75.   to 100%!!!  (This could be useful if you plan on doing something where
  76.   every ounce of speed would be nice. The acc's can be reactivated by
  77.   simply clicking on their entries, when they pop up just close them...
  78.   so they are STILL available from the application if you need them!!!)
  79.   WOW!  This method works fairly well when multitasking.  Doing the same
  80.   thing in multitasking speedom was running at about 44%.  By manually
  81.   (shift-clicking) putting neodesk and the acc's to sleep I managed to
  82.   get up around 98%! Very interesting and useful indeed.
  83.  
  84. - I have noticed that when I configure SPEEDOM at 8Mhz on a bare system...
  85.   except for the Adspeed acc I used to drop down to 8Mhz before running
  86.   SPEEDOM, that I'd tipically get 98% efficency right off the bat. When
  87.   Warp_9 is added, it jumps to 100 (again possibly beyond). I attribute
  88.   this to the fact that I poll the machine for 5 seconds taking 5-
  89.   1 second counts and then I take the highest (not average) optimal
  90.   ratio of instructions executed divided by time taken to execute them.
  91.   (thats why I need the EVT_TIMER vector!) Not to mention I cheated
  92.   on the instruction count "system" which does not actually represent
  93.   instructions executed, but hopefully a rough estimate of this anyway!
  94.   What I'm saying is "results will very from machine to machine, system
  95.   to system, and most accurate results will be gotten from configuring
  96.   SPEEDOM on your bare system.
  97.  
  98. - If you think about it since I use a constant for executed instructions
  99.   that increments a counter each pass through the loop, addind software
  100.   that accelerates such things as mouse and screen would be reflected
  101.   in a better performance percentage. Say each pass through the loop
  102.   increments the instruction counter by 100. Now say because of various
  103.   "accelerator" programs we manage to get through the loop in only 80
  104.   instructions. The instruction counter is still incremented by 100
  105.   so we manage to get through the loop a few more times then we did
  106.   before we used the accelerators. Thus we will have a higher
  107.   instruction to time ratio... giving us a reported percentage that was
  108.   better then the original. (Don't worry if you don't get it)
  109.  
  110.  Version 1:
  111. - Initial release.
  112.  
  113.                             Version 1 Docs
  114.  
  115.      This program is a breeze to use. Just run it using your favorite
  116. method and watch it go! Currently it only operates as a program- it can
  117. not be run as an ACC... yet!
  118.  
  119.      When you run the program you'll be presented with a very small
  120. window. The top line of the window (small text size) is a graphic bar
  121. indicator. The next line simply has three "|"'s and 50 to mark the
  122. half way point. The Graph Bar is a simple percentage indicator. Going
  123. from 1 to 100. With "|" at 25, 50 and 75 Percent marks.  This is a
  124. completely visual program with no interaction required. To quit just
  125. close the window. The window can be moved anywhere on screen. This
  126. program gives a visual indicator of how fast your programs are running,
  127. as compared to the optimal speed they could run on your machine.
  128.  
  129.      "OK, the program's under 6K with embedded RSC and all... how does
  130. it know my machine's optimal speed?"
  131.  
  132.      Great question. It doesn't so we need to teach it first. When you
  133. run the program it checks for a file SPEEDOM.CNF. If it finds it it will
  134. load in the 4 Byte value contained in that file. If it doesn't it will
  135. Test your machine's speed 5 times (takes under 10 seconds) and then it
  136. will compute this value and create a SPEEDOM.CNF to the current directory
  137. for you! (Simple) After this is done it will proceed with rating the
  138. application's speed.  This was the easiest way I could think of to do
  139. this accurately (mostly) on any machine from 8Mhz, 16Mhz, 32... 64...
  140. a zillion or whatever.
  141.  
  142.      The best way to configure the program is to run it on a BARE system
  143. with nothing else running, no accessories, etc. If you ever choose to
  144. re-calibrate the program, just delete the SPEEDOM.CNF file and run
  145. SPEEDOM to create a new one.  You could if you choose configure it from
  146. within Geneva or MultiTos or whatever. But for the most accurate system
  147. performance readings you should configure it with a bare system at the
  148. highest CPU speed (in the case of accelerators, etc) that you can.
  149.  
  150. INTERESTING TIDBITS:
  151.  
  152.      In testing/debugging this program I saw a few neat (disturbing)
  153. things. Configured on a bare system (no warp_9, mouse accelerators etc)
  154. Moving the mouse in a quick circle around the screen seemed to slow
  155. the application by about 20% on my TOS 1.62 ROMS... thats scary! With
  156. WARP_9 I could not detect a slowdown at all!
  157.  
  158.      Running SPEEDOM as a single-task application I averaged around
  159. 90% of my normal speed with mouse movements slowing it down by another
  160. 5% or so. (Faster you move the mouse, greater the slowdown... this was
  161. with warp_9 on). Defaulting back to multitasking having NeoDesk and
  162. a few accessories I ran two copies of SPEEDOM and got a speed just under
  163. 50%. For every copy run after that system speed dropped by only about 5%
  164. or so.
  165.  
  166.  
  167. QUICK DISCLAIMER:
  168.  
  169.      By making this program and everything I am not trying to promote
  170. any products (like warp_9, although its well worth it <g>) or pound
  171. any programs (like Geneva... I LOVE Geneva and respect Dan alot for
  172. his accomplishments and GRIBNIF support? Is superb) but no endorsements
  173. from me! <g>
  174.  
  175.      Programs that do not like to surrender control to Geneva/MultiTOS
  176. will not be reflected very well. (If SPEEDOM doesn't get time to work...
  177. then it won't be updated at all!)  Also as sorta mentioned above things
  178. such as moving the mouse, clicking on objects and using menus and stuff
  179. will temporarily reduce the application's percentage of code executed.
  180. The graphic bar display is normally updated every second or so. Unless
  181. one of the above mentioned factors prevents this.
  182.  
  183.      I'm no genius. I make mistakes and believe it or not I don't always
  184. know WHAT I'M DOING!!!  This program is a perfect example of my
  185. "Winging It". While I believe this program does represent an applications
  186. speed in terms of a percentage of optimal speed fairly accurately, I
  187. could be seriously wrong! In any event it is nice to look at and watch :)
  188.  
  189.      Comments and suggestions are welcomed and appreciated, as are
  190. registrations (hint!) feel free to leave E-mail on GEnie to me at
  191. E.MONACO or send a letter to the above address.
  192.  
  193.   Enjoy! Erin @DataBasement Software.
  194.